精
【超强揭秘】MW代码微调技术和地图坐标技术全教程!!
id: 1418608123 | 楼主:shasdo | 返回首页
id: 17331270561
1L | 作者:shasdo | 发布于 2012-02-18 19:05
Send The First Floor To
id: 17331275123
2L | 作者:lahztc1 | 发布于 2012-02-18 19:05
沙发
id: 17331295244
3L | 作者:nmnmoooh | 发布于 2012-02-18 19:06
a
id: 17331325302
4L | 作者:shasdo | 发布于 2012-02-18 19:07
好的,除了以上几楼之外,发完之前请勿插楼,谢谢大家
id: 17336756686
5L | 作者:shasdo | 发布于 2012-02-18 22:19
首先,代码技术大家并不陌生,就是通过非mario worker的手段打开MW关卡文件。首先,初步将你的MW关卡制作成形。
这只是一个关卡的举例。下面,我们测试该关卡:
这没什么异常,地面仍然比普通的多小半格,食人花在管道中央很正常,而且食人花和管道的衔接是那么不自然。
id: 17337699634
6L | 作者:shasdo | 发布于 2012-02-18 22:51
现在,打开你保存的关卡的文件夹,找到它。
将之后缀名改为.rar,之后解压,用记事本打开,即可得到最核心的关卡数据。
打开得到的文档,我们看到了很多数字:
这就是MW的关卡核心代码。缤纷多彩、变化无数的MW关卡就由这些看似平淡的数据完全决定。
id: 17338290218
7L | 作者:shasdo | 发布于 2012-02-18 23:13
id: 17338883127
11L | 作者:shasdo | 发布于 2012-02-18 23:37
MW的格子数都是以数字来统计。一格为32个数字单位。“其他单位数据”的数位有一定的格式。除了探照灯和PASSAGE,一般单位的数据都是11位。举例来说下面这一条代码:
一条代码可以按照图分为三份。A为物品编号,B为横坐标,C为纵坐标。坐标都要写成四位。在MW中,以靠左上角的一格作为原点,表示为00000000。它右面的一格记作00320000,原点下面的一格记作00000032(注意拆成两半理解)。正常编辑情况下,物品的横纵坐标均为32倍数或者0。
id: 17339495060
14L | 作者:shasdo | 发布于 2012-02-19 00:04
总之,物品坐标的普遍规律就是,越接近右方,[B]的数值越大,越接近下方,[C]的数值越大。当一个水管花的横纵坐标均为32的倍数时,它会不偏不倚地从管道的正常位置中出来。也就是在实际游戏中,它会出现在两横格中间的位置(见5楼图2)。
修改物品坐标时注意:欲使其上移/下移须减小/增大[C]值;欲使其左移/右移须减小/增大[B]的值,注意一格是32而不是1,坐标要填满4位,不足四位在前面补"0"。
下面我们简单的修改一下代码。
00603520320,这是那个食人花的参数。
[006][0352][0320] 在教程里为方便阅读,这样表示。
我们试着将它向左改一格,变为
[006][0320][0320] 注意中间的数据。
保存文件以后,将文件后缀".txt"改为".mfl",测试关卡。
我们可以看到,它的绝对位置左移了一格(移动前后都在相对位置都在两格之间)
那么,我们能否做到将它摆放到非常规位置呢?
关闭测试,继续打开代码一看究竟。
id: 17339730447
15L | 作者:shasdo | 发布于 2012-02-19 00:16
打开文件,见到我们熟悉的代码:
[006][0320][0320]
这是之前修改过的数据。我们把它改回正常位置:
[006][0352][0320]
☆下面这里是重点:
代码中,32单位代表一格,也就是说,平时的编辑器只能做出整格物品的,在代码里被精确成了32小份,换句话说,两格之间本来没有可放的位置,然而用代码可以塑造出30个可放的位置,而且这是有效的。
我们首先将食人花左移半格。这在常规编辑器中显然不可能做到。半格就理解为[32/2=16]的单位。
[006][0336][0320]
很简单吧?
之后,新增一个代码行:
将前面的食人花复制一下并右移一格:
然后保存,改后缀名之后测试,你看到了什么?
id: 17339824691
17L | 作者:shasdo | 发布于 2012-02-19 00:21
微调法成功地将物品移动了半格并复制出了一个新的来。
如果你看懂了,就自己动手试着做做吧!
id: 17384250373
35L | 作者:shasdo | 发布于 2012-02-21 01:20
下面将介绍微调实例、地图大小调整技术以及顶部封死技术和负坐标原理。我这里大部分借用nmnmoooh写的文字(在此特别向nmnmoooh致谢),并配以我制作的图片,我会争取让所有人看懂。有一点要注意:nmnmoooh发的教程中,有一小部分与我的研究成果不符,这里我会做出纠正。
id: 17384316704
36L | 作者:shasdo | 发布于 2012-02-21 01:30
微调实例:
一、高位岩浆的处理
相信你已经大致猜到了高位岩浆的做法。没错,高位岩浆是用微调技术将许多单一的岩浆拼合而成。下面详细讲解:
首先,在编辑器中放置好欲设置岩浆的最高位置。如下图:
然后保存并进入代码编辑模式:
我们可以看到物品的代码是这样:
id: 17384420363
37L | 作者:shasdo | 发布于 2012-02-21 01:48
其中红色框出的部分就是岩浆的代码。岩浆代码的标志是:首三位为"018"。我们看到,由于在同一水平线,所以其纵坐标相同。现在,我们依次叠加即可。
我们只演示一个岩浆的高位处理:
首先,将同一个岩浆代码复制若干份:
然后,最重要的部分开始了:
从倒数第二个开始,依次将纵坐标数据递增7,直至纵坐标达到448为止。(前提是高度为最窄的普通关卡)
示范:
注意:只增加纵坐标即可!
好了,现在删除多余复制的代码(当然如果你算得很准的话完全不会多余复制),保存文件,测试一下吧!
好了,我们看到,所修改过的最右面的岩浆已经完成了增高效果。我们就可以将所有的岩浆都使用这种技术来创造。如下图:
但是,为什么下方会多出一层白色呢?我们马上就说。
id: 17465639252
38L | 作者:百米春华 | 发布于 2012-02-24 21:32
然后呢?为什么有白色
id: 17466936576
39L | 作者:shasdo | 发布于 2012-02-24 22:18
我们知道,普通关卡在编辑器里的高度最小是15格,然而输入15格的时候编辑器里显示的是16格(可以试试)。
这样子就产生了在普通关卡中存在的普遍现象:屏幕最下面多出了小半格。怎样去掉它呢?
在7楼图中,将纵向长度"490"减去10,改为"480",即可完成去掉最下面一行。然而这样修改之后,无法再次使用编辑器修改,否则会使程序毁坏,只能使用特殊方法才能修复。所以,建议在做关卡时无视最下面一行,做完之后再修改数据。
解释原理:
MW代码中的32格相当于实际的1格。所以关卡高度值应是15*32=480。当高度为490时,就会有高度多出10/32格的现象。
id: 17509722581
40L | 作者:Fahlee_5 | 发布于 2012-02-26 18:05
坑死人了...今天为了把屏幕调成不摇晃,关卡出错了不知道多少次..
最后我决定不改了,就按原来那样,我觉得那样不会影响美观,而且屏幕最下面一行看不见又创造了一些设计,比如MF2 6-1的设计.
id: 17510531864
41L | 作者:shasdo | 发布于 2012-02-26 18:42
。。。虽然您不用,但也不能否定研究成果啊。。。。。。。
id: 18838174568
42L | 作者:dd16168 | 发布于 2012-04-15 18:05
id: 18873836080
43L | 作者:zqh——123 | 发布于 2012-04-16 21:37
强!
id: 18873859527
44L | 作者:zqh——123 | 发布于 2012-04-16 21:37
回复39楼:
把490改为480!
id: 18874420671
45L | 作者:lahztc1 | 发布于 2012-04-16 21:55
回复44L:见38L
id: 18880786851
46L | 作者:lahztc1 | 发布于 2012-04-17 07:13
汗 写错了 是37L
id: 19011991622
47L | 作者:歪四 | 发布于 2012-04-21 16:59
看到lava(懒得找字)的那个我就觉得神了……
id: 23172330947
48L | 作者:403295186rx | 发布于 2012-08-16 17:45
我还是不懂
id: 23355181726
49L | 作者:403295186rx | 发布于 2012-08-21 10:24
挖坟这个词可是千万不敢乱说的。
id: 32256515109
50L | 作者:20020626sos | 发布于 2013-05-03 21:00
id: 36824137987
56L | 作者:仔仔016 | 发布于 2013-08-07 17:46
id: 54468733418
57L | 作者:神秘人1000 | 发布于 2014-07-27 11:02
坟场
挖坟次数太多